package com.eurasia.assignment.controller.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class CreateCodeSubmissionRequest {
    @NotNull(message = "题目ID不能为空")
    @Positive(message = "题目ID必须为正整数")
    private Long pid;

    @NotNull(message = "编程语言不能为空")
    private String language;

    @NotBlank(message = "代码内容不能为空")
    private String code;

    @NotNull(message = "题目类型不能为空")
    private String type;

    private String userInput;       // 用户输入（可以为空）
    private String expectedOutput;  // 预期输出（可以为空）

    @NotBlank(message = "代码模式不能为空")
    private String mode;

    @NotNull(message = "远程判题标识不能为空")
    private Boolean isRemoteJudge;
}
